Шаг 377 - А если очень хочется субсчет - продолжение (на примере акта выполнения услуг).

А еще может безумно хотеться несмотря на все доводы услуги раскидывать по субсчетам. Наше дело поросячье – сказали сделал. Так как в одном акте может быть много типов услуг которые конечно хоть раз в год должны разделяться по разным субсчетам . Добавляем.

377_1.gif (4626 b)

И на форму.

377_2.gif (3681 b)

С проведением немного сложнее. При проведении создается таблица значений которая используется для группировки проводки. Сначала нам нужно добавить новое значение в таблицу значений

............
     ТаблицаРеализации = СоздатьОбъект("ТаблицаЗначений");
     ТаблицаРеализации.НоваяКолонка("ВидНоменклатуры");
     ТаблицаРеализации.НоваяКолонка("СтавкаНДС");
     ТаблицаРеализации.НоваяКолонка("СтавкаНП");
     ТаблицаРеализации.НоваяКолонка("Всего");
     ТаблицаРеализации.НоваяКолонка("НП"); 
     ТаблицаРеализации.НоваяКолонка("СчетКредита");
............

Потом не забыть заполнять при выборе

............
     ВыбратьСтроки();
     Пока ПолучитьСтроку() = 1 Цикл
          ТаблицаРеализации.НоваяСтрока();
          ТаблицаРеализации.ВидНоменклатуры = Услуга.ВидНоменклатуры;
          ТаблицаРеализации.СтавкаНДС = глСтавкаНалога(Контекст, "НДС");
          ТаблицаРеализации.СтавкаНП = глСтавкаНалога(Контекст, "НП");
          ТаблицаРеализации.Всего = Всего;
          ТаблицаРеализации.НП = НП;  
          ТаблицаРеализации.СчетКредита=СчетКредита;
     КонецЦикла;
............

Таблица будет свернута и это нужно учесть.

............
     ТаблицаРеализации.Свернуть("ВидНоменклатуры, СтавкаНДС, СтавкаНП,СчетКредита","Всего, НП");
............

Дальше для проведения выбираются строки из таблицы. Вот тут то мы и подсунем наш счет.

............
ТаблицаРеализации.ВыбратьСтроки();
     Пока ТаблицаРеализации.ПолучитьСтроку() = 1 Цикл
          Операция.НоваяПроводка();
          Операция.СодержаниеПроводки = "Учтена выручка";
          Операция.НомерЖурнала = "ТВ";
          Операция.Дебет.Счет = СчетРасчетовСПокупателем;
          Операция.Дебет.Контрагенты = Контрагент;
          Операция.Дебет.Договоры = Договор;
          Операция.Дебет.ВидыРасчетовСпокупателями = Перечисление.ВидыРасчетовСПокупателями.РасчетыЗаПродукциюРаботыУслуги;
          Операция.Кредит.Счет =ТаблицаРеализации.СчетКредита;
          Операция.Кредит.ВидыНоменклатуры = ТаблицаРеализации.ВидНоменклатуры;
............

Можно заполнять документ.

377_3.gif (8537 b)

Смотрим проведение.

377_4.gif (10871 b)

Но если два вида услуг пойдут на один субсчет суммы будут свернуты в одну, не вздумайте испугаться и подумать что где то ошибка.

Hosted by uCoz